package com.yuncheng.oaApi.service.impl;

import cn.hutool.core.collection.CollectionUtil;
import org.apache.commons.collections.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yuncheng.oaApi.constant.OaJcyFybxdConstant;
import com.yuncheng.oaApi.constant.OaFlowConstant;
import com.yuncheng.oaApi.constant.OaSpcyJcyFybxdConstant;
import com.yuncheng.oaApi.entity.NkBxJtxcd;
import com.yuncheng.oaApi.entity.NkRsZzsqd;
import com.yuncheng.oaApi.entity.OaSpcyJcyFybxdgrjl;
import com.yuncheng.exception.BusinessException;
import com.yuncheng.oaApi.mapper.NkBxJtxcdMapper;

import com.yuncheng.oaApi.service.*;

import com.yuncheng.oaApi.utils.GetUuIdUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;

import com.yuncheng.common.base.service.impl.BaseServiceImpl;
import utils.DateConversionUtils;

import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;

/**
 * @Description: 报销-交通行程单
 * @Author: lhb
 * @Date: 2024-05-23
 * @Version: V1.0
 */
@Service
public class NkBxJtxcdServiceImpl extends BaseServiceImpl<NkBxJtxcdMapper, NkBxJtxcd> implements INkBxJtxcdService {

    @Resource
    @Lazy
    private IOaSpcyJcyFybxdgrjlService spcyJcyFybxdgrjlService;


    @Resource
    @Lazy
    private IOaSpcyJcyFybxdService spcyJcyFybxdService;


    @Resource
    @Lazy
    private IOaYcSysUserService ycSysUserService;


    @Resource
    @Lazy
    private INkRsZzsqdService nkRsZzsqdService;
    /**
     * 初始化生成行程单
     */
    @Override
    public void initxcd(String bxdid){
        List<OaSpcyJcyFybxdgrjl> jcyFybxdgrjls = spcyJcyFybxdgrjlService.list(new LambdaQueryWrapper<OaSpcyJcyFybxdgrjl>()
                .eq(OaSpcyJcyFybxdgrjl::getFbxdid, bxdid));

        List<String> bxdgrlist = new ArrayList();
        if (CollectionUtils.isNotEmpty(jcyFybxdgrjls)){
            for (OaSpcyJcyFybxdgrjl jcyFybxdgrjl:jcyFybxdgrjls){
                String id = jcyFybxdgrjl.getId();
                //报销单个人id
                bxdgrlist.add(id);
            }
        }


        List<NkBxJtxcd> nkBxJtxcds = new ArrayList();

        for (String bxdgrid:bxdgrlist){
            nkBxJtxcds = baseMapper.selectList(new LambdaQueryWrapper<NkBxJtxcd>().eq(NkBxJtxcd::getFbxdgrid, bxdgrid));
            OaSpcyJcyFybxdgrjl jcyFybxdgrjl = spcyJcyFybxdgrjlService.getById(bxdgrid);
            //如果为空那么就每个报销单个人id创建2条记录 循环创建根据报销单id
            if (CollectionUtils.isEmpty(nkBxJtxcds)){
                NkBxJtxcd nkBxJtxcd = new NkBxJtxcd();
                nkBxJtxcd.setId(GetUuIdUtils.ReplaceUuId());
                nkBxJtxcd.setFbxdid(jcyFybxdgrjl.getFbxdid());
                nkBxJtxcd.setFbxdgrid(bxdgrid);
                nkBxJtxcd.setFuserid(jcyFybxdgrjl.getFuserid());
                nkBxJtxcd.setRealname(jcyFybxdgrjl.getRealname());
                nkBxJtxcd.setSex(jcyFybxdgrjl.getSex());
                nkBxJtxcd.setFsfzh(jcyFybxdgrjl.getFsfzh());
                nkBxJtxcd.setPhone(jcyFybxdgrjl.getPhone());
                nkBxJtxcd.setFgzdw(jcyFybxdgrjl.getFgzdw());
                nkBxJtxcd.setFjcsf(jcyFybxdgrjl.getFjcsf());
                //交通方式
                nkBxJtxcd.setFcsjjtfs(OaJcyFybxdConstant.CSJJTFS_DEFAULT_GT);
//                nkBxJtxcd.setFcsjjtfsf(jcyFybxdgrjl.getFcsjjtfsf());
                //往-起始-到达日期
                nkBxJtxcd.setFcsjjtwqsrq(jcyFybxdgrjl.getFcsjjtwqsrq());
                nkBxJtxcd.setFcsjjtwddrq(jcyFybxdgrjl.getFcsjjtwddrq());
                //返-起始-到达日期
//                nkBxJtxcd.setFcsjjtfqsrq(jcyFybxdgrjl.getFcsjjtfqsrq());
//                nkBxJtxcd.setFcsjjtfddrq(jcyFybxdgrjl.getFcsjjtfddrq());
                //往-起始-到达城市
                nkBxJtxcd.setFwjtfqscs(jcyFybxdgrjl.getFwjtfqscs());
                nkBxJtxcd.setFwjtfddcs(jcyFybxdgrjl.getFwjtfddcs());
                //返-起始-到达城市
//                nkBxJtxcd.setFfjtfqscs(jcyFybxdgrjl.getFfjtfqscs());
//                nkBxJtxcd.setFfjtfddcs(jcyFybxdgrjl.getFfjtfddcs());

                //往 是否垫付 垫付人id 垫付人姓名 应报金额 实报金额
                nkBxJtxcd.setFwjtfsfdf(OaFlowConstant.NO);
                nkBxJtxcd.setFwjtfdfrid(jcyFybxdgrjl.getFwjtfdfrid());
                nkBxJtxcd.setFwjtfdfrxm(jcyFybxdgrjl.getFwjtfdfrxm());
                nkBxJtxcd.setFwjtfybje("");
                nkBxJtxcd.setFwjtfsbje("");
                nkBxJtxcd.setFsfgwkbx(OaFlowConstant.NO);

                //返 是否垫付 垫付人id 垫付人姓名 应报金额 实报金额
//                nkBxJtxcd.setFfjtfsfdf(jcyFybxdgrjl.getFfjtfsfdf());
//                nkBxJtxcd.setFfjtfdfrid(jcyFybxdgrjl.getFfjtfdfrid());
//                nkBxJtxcd.setFfjtfdfrxm(jcyFybxdgrjl.getFfjtfdfrxm());
//                nkBxJtxcd.setFfjtfybje(jcyFybxdgrjl.getFfjtfybje());
//                nkBxJtxcd.setFfjtfsbje(jcyFybxdgrjl.getFfjtfsbje());

                nkBxJtxcd.setCreateTime(DateConversionUtils.convertStringToDateYmdHms(DateConversionUtils.DateToDays(new Date())));

                baseMapper.insert(nkBxJtxcd);

                    NkBxJtxcd nkBxJtxcdss = new NkBxJtxcd();
                    nkBxJtxcdss.setFsfgwkbx(OaFlowConstant.NO);
                    nkBxJtxcdss.setId(GetUuIdUtils.ReplaceUuId());
                    nkBxJtxcdss.setFbxdid(jcyFybxdgrjl.getFbxdid());
                    nkBxJtxcdss.setFbxdgrid(bxdgrid);
                    nkBxJtxcdss.setFuserid(jcyFybxdgrjl.getFuserid());
                    nkBxJtxcdss.setRealname(jcyFybxdgrjl.getRealname());
                    nkBxJtxcdss.setSex(jcyFybxdgrjl.getSex());
                    nkBxJtxcdss.setFsfzh(jcyFybxdgrjl.getFsfzh());
                    nkBxJtxcdss.setPhone(jcyFybxdgrjl.getPhone());
                    nkBxJtxcdss.setFgzdw(jcyFybxdgrjl.getFgzdw());
                    nkBxJtxcdss.setFjcsf(jcyFybxdgrjl.getFjcsf());

                    //交通方式
                    nkBxJtxcdss.setFcsjjtfs(OaJcyFybxdConstant.CSJJTFS_DEFAULT_GT);
                    //往-起始-到达日期
                    nkBxJtxcdss.setFcsjjtwqsrq(jcyFybxdgrjl.getFcsjjtfqsrq());
                    nkBxJtxcdss.setFcsjjtwddrq(jcyFybxdgrjl.getFcsjjtfddrq());

                    //往-起始-到达城市
                    nkBxJtxcdss.setFwjtfqscs(jcyFybxdgrjl.getFfjtfqscs());
                    nkBxJtxcdss.setFwjtfddcs(jcyFybxdgrjl.getFfjtfddcs());

                    //往 是否垫付 垫付人id 垫付人姓名 应报金额 实报金额
                    nkBxJtxcdss.setFwjtfsfdf(OaFlowConstant.NO);
                    nkBxJtxcdss.setFwjtfdfrid(jcyFybxdgrjl.getFfjtfdfrid());
                    nkBxJtxcdss.setFwjtfdfrxm(jcyFybxdgrjl.getFfjtfdfrxm());
                    nkBxJtxcdss.setFwjtfybje("");
                    nkBxJtxcdss.setFwjtfsbje("");
                    nkBxJtxcdss.setCreateTime(DateConversionUtils.convertStringToDateYmdHms(DateConversionUtils.DateToDays(new Date())));

                    baseMapper.insert(nkBxJtxcdss);



                //插入之后将原本的 报销单个人字段 设置为空

            }
            jcyFybxdgrjl.setFcsjjtfs("");
            jcyFybxdgrjl.setFcsjjtfsf("");
            //往-起始-到达日期
            jcyFybxdgrjl.setFcsjjtwqsrq("");
            jcyFybxdgrjl.setFcsjjtwddrq("");
            //返-起始-到达日期
            jcyFybxdgrjl.setFcsjjtfqsrq("");
            jcyFybxdgrjl.setFcsjjtfddrq("");
            //往-起始-到达城市
            jcyFybxdgrjl.setFwjtfqscs("");
            jcyFybxdgrjl.setFwjtfddcs("");
            //返-起始-到达城市
            jcyFybxdgrjl.setFfjtfqscs("");
            jcyFybxdgrjl.setFfjtfddcs("");

            //往 是否垫付 垫付人id 垫付人姓名
            jcyFybxdgrjl.setFwjtfsfdf("");
            jcyFybxdgrjl.setFwjtfdfrid("");
            jcyFybxdgrjl.setFwjtfdfrxm("");


            //返 是否垫付 垫付人id 垫付人姓名
            jcyFybxdgrjl.setFfjtfsfdf("");
            jcyFybxdgrjl.setFfjtfdfrid("");
            jcyFybxdgrjl.setFfjtfdfrxm("");
            jcyFybxdgrjl.setFsfgwkdfclfw("");
            jcyFybxdgrjl.setFsfgwkdfclff("");

            spcyJcyFybxdgrjlService.updateById(jcyFybxdgrjl);

        }


    }


    /**
     * 交通费 计算
     */
    @Override
    public void jtfy(String bxdid){
        //将个人用户id相同的相加起来放到个人报销单呢
        //展示应报 计算实报

        //获取所有的个人报销单
        List<OaSpcyJcyFybxdgrjl> jcyFybxdgrjls = spcyJcyFybxdgrjlService.list
                (new LambdaQueryWrapper<OaSpcyJcyFybxdgrjl>().eq(OaSpcyJcyFybxdgrjl::getFbxdid, bxdid));

        List<String> bxdgridlist = new ArrayList();
        if (CollectionUtils.isNotEmpty(jcyFybxdgrjls)){
            //报销单个人不为空 拿着报销单个人id 和 申请人id 查询 交通行程
            //循环拿到id
            for (OaSpcyJcyFybxdgrjl bxgr : jcyFybxdgrjls){
                bxdgridlist.add(bxgr.getId());
            }
        }

        //循环报销单个人id 查询当前所有个人的交通行程单
        for(String bxdgridlists:bxdgridlist){
            List<NkBxJtxcd> nkBxJtxcds = baseMapper.selectList(new LambdaQueryWrapper<NkBxJtxcd>()
                    .eq(NkBxJtxcd::getFbxdgrid, bxdgridlists));
            for (NkBxJtxcd nkBxJtxcd:nkBxJtxcds){
                //如果交通行程单不为空 那么就开始计算费用
                if (CollectionUtils.isNotEmpty(nkBxJtxcds)){
                    //检查员 交通为飞机 选择收款单位 最后显示在报销单呢 后续优化




                    //编辑的时候 放上去显示的是 应报金额
                    /**
                     * 城市间交通费-往-实报金额
                     * 如果本人选择是垫付 实报金额为0，把本人的合计金额加到垫付人的实报金额
                     */
                    //这里只算交通方式为飞机 那么实报也为零 显示应报 计算实报
                    if(StringUtils.isNotBlank(nkBxJtxcd.getFcsjjtfs()) && nkBxJtxcd.getFcsjjtfs().equals(OaJcyFybxdConstant.CSJJTFS_DEFAULT_FJ)){
                        //如果为 飞机 将实报变为零

                        nkBxJtxcd.setFwjtfsbje("0");

                    }else if (StringUtils.isNotBlank(nkBxJtxcd.getFwjtfsfdf()) && nkBxJtxcd.getFwjtfsfdf().equals("是")){
                        //垫付为0
                        nkBxJtxcd.setFwjtfsbje("0");
                    }else {
                        //不是垫付的话 将应报金额 放进 实报金额内
                        nkBxJtxcd.setFwjtfsbje(Optional.ofNullable(nkBxJtxcd.getFwjtfybje()).orElseGet(()->"0"));
                    }


//                    /**
//                     * 城市间交通费-返-实报金额
//                     * 如果本人选择是垫付 实报金额为0，把本人的合计金额加到垫付人的实报金额
//                     */
//                    if(StringUtils.isNotBlank(nkBxJtxcd.getFcsjjtfsf()) && nkBxJtxcd.getFcsjjtfsf().equals(JcyFybxdConstant.CSJJTFS_DEFAULT_FJ)){
//                        //如果为 飞机 将实报变为零
//
//                        nkBxJtxcd.setFfjtfsbje("0");
//
//                    }else if (StringUtils.isNotBlank(nkBxJtxcd.getFfjtfsfdf()) && nkBxJtxcd.getFfjtfsfdf().equals("是")){
//                        nkBxJtxcd.setFfjtfsbje("0");
//                    }else {
//                        nkBxJtxcd.setFfjtfsbje(nkBxJtxcd.getFfjtfybje());
//                    }

                    /**
                     * 查询垫付-城市间交通费-往-垫付人id
                     * 计算垫付实报金额
                     */
                    List<NkRsZzsqd> nkRsZzsqdsW = nkRsZzsqdService.list(new LambdaQueryWrapper<NkRsZzsqd>()
                            .eq(NkRsZzsqd::getFbxdgrjlid, bxdgridlists)
                            .eq(NkRsZzsqd :: getFjtxcdid, nkBxJtxcd.getId())
                            .eq(NkRsZzsqd :: getFwfqk, OaJcyFybxdConstant.ZZWFQK_QC));
                    //如果交通费不是飞机的话 进行这个这个逻辑
                    if (StringUtils.isNotBlank(nkBxJtxcd.getFcsjjtfs()) && nkBxJtxcd.getFcsjjtfs().equals(OaJcyFybxdConstant.CSJJTFS_DEFAULT_FJ)
                        && CollectionUtils.isNotEmpty(nkRsZzsqdsW) && nkRsZzsqdsW.get(0).getFwfqk().equals(OaJcyFybxdConstant.ZZWFQK_QC)){
                        //如果为飞机 那垫付人为 申请转账单的收款单位


                        if (CollectionUtils.isNotEmpty(nkRsZzsqdsW)){
                            nkBxJtxcd.setFwjtfdfrxm(nkRsZzsqdsW.get(0).getFskdw());
                            nkBxJtxcd.setFwjtfsfdf(OaFlowConstant.YES);
                            nkBxJtxcd.setFwjtfybje(nkRsZzsqdsW.get(0).getFjexx());
                        }else {
                            nkBxJtxcd.setFwjtfdfrxm("");
                        }
                        nkBxJtxcd.setFwjtfdfrid("");
                    }else {
                        List<NkBxJtxcd> wjtfList = baseMapper.selectList(new LambdaQueryWrapper<NkBxJtxcd>()
                                .eq(NkBxJtxcd::getFwjtfdfrid, nkBxJtxcd.getFuserid())
                                .eq(NkBxJtxcd::getFwjtfsfdf, "是")
                                .apply("ROWNUM <= 1") // 使用 APPLY 和 ROWNUM <= 1 来限制结果数量
                                .orderByAsc(NkBxJtxcd::getCreateTime));
                        BigDecimal wjtfTotal = new BigDecimal(nkBxJtxcd.getFwjtfsbje());

                        if (CollectionUtils.isNotEmpty(wjtfList)){
                            for (NkBxJtxcd w : wjtfList){
                                wjtfTotal = wjtfTotal.add(new BigDecimal(Optional.ofNullable(w.getFwjtfybje()).orElseGet(()->"0")));
                                nkBxJtxcd.setFwjtfsbje(String.valueOf(wjtfTotal));
//                                nkBxJtxcd.setFwjtfdfrxm(ycSysUserService.getById(w.getFwjtfdfrid()).getRealname());
                            }
                        }

                    }



//                    /**
//                     * 城市间交通费-返-垫付人id
//                     * 计算垫付实报金额
//                     */
//                    //如果为飞机 那垫付人为 申请转账单的收款单位
//                    List<NkRsZzsqd> nkRsZzsqds = nkRsZzsqdService.list(new LambdaQueryWrapper<NkRsZzsqd>()
//                            .eq(NkRsZzsqd::getFbxdgrjlid, bxdgridlists)
//                            .eq(NkRsZzsqd :: getFjtxcdid, nkBxJtxcd.getId())
//                            .eq(NkRsZzsqd :: getFwfqk, JcyFybxdConstant.ZZWFQK_FC));
//                    if (StringUtils.isNotBlank(nkBxJtxcd.getFcsjjtfsf()) && nkBxJtxcd.getFcsjjtfsf().equals(JcyFybxdConstant.CSJJTFS_DEFAULT_FJ)
//                        && CollectionUtils.isNotEmpty(nkRsZzsqdsW) && nkRsZzsqds.get(0).getFwfqk().equals(JcyFybxdConstant.ZZWFQK_FC)){
//
//                        if (CollectionUtils.isNotEmpty(nkRsZzsqds)){
//                            nkBxJtxcd.setFfjtfdfrxm(nkRsZzsqds.get(0).getFskdw());
//                            nkBxJtxcd.setFfjtfsfdf(OaFlowConstant.YES);
//                            nkBxJtxcd.setFfjtfybje(nkRsZzsqds.get(0).getFjexx());
//                        }else {
//                            nkBxJtxcd.setFfjtfdfrxm("");
//                        }
//                        nkBxJtxcd.setFfjtfdfrid("");
//                    }else {
//
//                        List<NkBxJtxcd> fjtfList = baseMapper.selectList(new LambdaQueryWrapper<NkBxJtxcd>()
//                                .eq(NkBxJtxcd::getFfjtfdfrid, nkBxJtxcd.getFuserid())
//                                .eq(NkBxJtxcd::getFfjtfsfdf, "是"));
//                        BigDecimal fjtfTotal = new BigDecimal(nkBxJtxcd.getFfjtfsbje());
//
//                        if (CollectionUtils.isNotEmpty(fjtfList)) {
//                            for (NkBxJtxcd f : fjtfList) {
//                                fjtfTotal = fjtfTotal.add(new BigDecimal(Optional.ofNullable(f.getFfjtfybje()).orElseGet(() -> "0")));
//                                nkBxJtxcd.setFfjtfsbje(String.valueOf(fjtfTotal));
//                                nkBxJtxcd.setFfjtfdfrxm(ycSysUserService.getById(f.getFfjtfdfrid()).getRealname());
//                            }
//                        }
//                    }

                    BigDecimal wclfYbje = new BigDecimal("0");
//                    BigDecimal fclfYbje = new BigDecimal("0");

                    wclfYbje = wclfYbje.add(new BigDecimal(Optional.ofNullable(nkBxJtxcd.getFwjtfybje()).orElseGet(()->"0"))); // 往-交通费-应报金额
//                    fclfYbje = fclfYbje.add(new BigDecimal(nkBxJtxcd.getFfjtfybje())); //  返-交通费-应报金额


                    BigDecimal wclfSbje = new BigDecimal("0");
//                    BigDecimal fclfSbje = new BigDecimal("0");

                    wclfSbje = wclfSbje.add(new BigDecimal(Optional.ofNullable(nkBxJtxcd.getFwjtfsbje()).orElseGet(()->"0"))); // 往-交通费-实报金额
//                    fclfSbje = fclfSbje.add(new BigDecimal(nkBxJtxcd.getFfjtfsbje())); // 返-交通费-实报金额

                    //差旅费应报金额
                    nkBxJtxcd.setFwjtfybje(String.valueOf(wclfYbje));
//                    nkBxJtxcd.setFfjtfybje(String.valueOf(fclfYbje));

                    //差旅费实报金额
                    nkBxJtxcd.setFwjtfsbje(String.valueOf(wclfSbje));
//                    nkBxJtxcd.setFfjtfsbje(String.valueOf(fclfSbje));

                    baseMapper.updateById(nkBxJtxcd);
                }



            }

            //更新 报销单个人记录
            for(String bxdgridlistgr:bxdgridlist){
                List<NkBxJtxcd> nkBxJtxcdss = baseMapper.selectList(new LambdaQueryWrapper<NkBxJtxcd>()
                        .eq(NkBxJtxcd::getFbxdgrid, bxdgridlistgr));

                BigDecimal wsb = new BigDecimal(0);
                BigDecimal wyb = new BigDecimal(0);

//                BigDecimal fsb = new BigDecimal(0);
//                BigDecimal fyb = new BigDecimal(0);

                for (NkBxJtxcd nkBxJtxcd:nkBxJtxcdss){
                    //往 实报和应报
                    String fwjtfybje = Optional.ofNullable(nkBxJtxcd.getFwjtfybje()).orElseGet(()->"0") ;
                    String fwjtfsbje = Optional.ofNullable(nkBxJtxcd.getFwjtfsbje()).orElseGet(()->"0");

                    //返 实报和应报
//                    String ffjtfybje = Optional.ofNullable(nkBxJtxcd.getFfjtfybje()).orElseGet(()->"0");
//                    String ffjtfsbje = Optional.ofNullable(nkBxJtxcd.getFfjtfsbje()).orElseGet(()->"0");

                    wsb = wsb.add(new BigDecimal(fwjtfsbje));
                    wyb = wyb.add(new BigDecimal(fwjtfybje));

//                    fsb = fsb.add(new BigDecimal(ffjtfsbje));
//                    fyb = fyb.add(new BigDecimal(ffjtfybje));

                }

                OaSpcyJcyFybxdgrjl jcyFybxdgrjl = spcyJcyFybxdgrjlService.getById(bxdgridlistgr);
                BigDecimal wjtfsbje = new BigDecimal(Optional.ofNullable(jcyFybxdgrjl.getFwjtfsbje()).orElseGet(()->"0"));
                BigDecimal wjtfybje = new BigDecimal(Optional.ofNullable(jcyFybxdgrjl.getFwjtfybje()).orElseGet(()->"0"));
                int wsbs = wjtfsbje.compareTo(wsb);
                int wybs = wjtfybje.compareTo(wyb);
                if (wsbs != 0){
                    jcyFybxdgrjl.setFwjtfsbje(String.valueOf(wsb));
                }
                if(wybs != 0){
                    jcyFybxdgrjl.setFwjtfybje(String.valueOf(wyb));
                }

//                BigDecimal fjtfsbje = new BigDecimal(Optional.ofNullable(jcyFybxdgrjl.getFfjtfsbje()).orElseGet(()->"0"));
//                BigDecimal fjtfybje = new BigDecimal(Optional.ofNullable(jcyFybxdgrjl.getFfjtfybje()).orElseGet(()->"0"));

//                int fsbs = fjtfsbje.compareTo(fsb);
//                int fybs = fjtfybje.compareTo(fyb);

//                if (fsbs != 0){
//                    jcyFybxdgrjl.setFfjtfsbje(String.valueOf(fsb));
//                }
//                if(fybs != 0){
//                    jcyFybxdgrjl.setFfjtfybje(String.valueOf(fyb));
//                }
                spcyJcyFybxdgrjlService.updateById(jcyFybxdgrjl);




            }

        }










    }





    /**
     * 批量设置出行方式
     */
    @Override
    public void batchSetBxdCxfsByBxdId(String fbxdid, String fcsjjtfs){
        if (StringUtils.isBlank(fbxdid)){
            throw new BusinessException("参数为空！");
        }
        if (StringUtils.isBlank(fcsjjtfs)){
            throw new BusinessException("出行方式为空！");
        }
        List<NkBxJtxcd> list = baseMapper.selectList(new LambdaQueryWrapper<NkBxJtxcd>()
                .eq(NkBxJtxcd::getFbxdid, fbxdid));

        if (CollectionUtil.isNotEmpty(list)) {
            for (NkBxJtxcd grjl : list) {
                grjl.setFcsjjtfs(fcsjjtfs);
                grjl.setFcsjjtfsf(fcsjjtfs);
                if (fcsjjtfs.equals(OaSpcyJcyFybxdConstant.CSJJTFS_DEFAULT_DWPC)) {
                    grjl.setFfjtfdfrid("");
                    grjl.setFfjtfdfrxm("");
                    grjl.setFfjtfddcs("");
                    grjl.setFfjtfqscs("");
                    grjl.setFfjtfsbje("0");
                    grjl.setFfjtfybje("0");
                    grjl.setFfjtfsfdf(OaSpcyJcyFybxdConstant.FYBXD_SFDF_NO);

                    grjl.setFwjtfdfrid("");
                    grjl.setFwjtfdfrxm("");
                    grjl.setFwjtfddcs("");
                    grjl.setFwjtfqscs("");
                    grjl.setFwjtfsbje("0");
                    grjl.setFwjtfybje("0");
                    grjl.setFwjtfsfdf(OaSpcyJcyFybxdConstant.FYBXD_SFDF_NO);
                }

                baseMapper.updateById(grjl);
            }
        }

    }


















}
